export interface GameTemp {
    name?: string;
    steam_appid: number;
    game?: GameObj
}

export interface GameObj {
    name: string
    steam_appid: number
    is_free: boolean
    about_the_game: string
    short_description: string
    header_image: string
    website: string
    legal_notice: string
    languages: Map<string, Language>
    reviews: string
    developers: string[]
    publishers: string[]
    price_overview: PriceOverview
    platforms: Platforms
    categories: Category[]
    genres: Genre[]
    screenshots: Screenshot[]
    movies: Movie[]
    recommendations: Recommendations
    achievements: Achievements;
    release_date: ReleaseDate
    support_info: SupportInfo
    background: string
    background_raw: string
    disable: boolean
}

export interface Language {
    interface: boolean;
    fullAudio: boolean;
    subtitles: boolean;
}

export interface Achievements {
    total: number;  // @inject_tag: json:"total" bson:"total"
    highlighted: Highlighted[];  // @inject_tag: json:"highlighted" bson:"highlighted"
}

export interface Highlighted {
    name: string;  // @inject_tag: json:"name" bson:"name"
    path: string;  // @inject_tag: json:"path" bson:"path"
}

export interface PriceOverview {
    currency: string
    initial: number
    final: number
    discount_percent: number
    initial_formatted: string
    final_formatted: string
}

export interface Platforms {
    windows: boolean
    mac: boolean
    linux: boolean
}

export interface Category {
    id: number
    description: string
}

export interface Genre {
    id: string
    description: string
}

export interface Screenshot {
    id: number
    path_thumbnail: string
    path_full: string
}

export interface Movie {
    id: number
    name: string
    thumbnail: string
    webm: Map<string, string>
    mp4: Map<string, string>
    highlight: boolean
}


export interface Recommendations {
    total: number
}

export interface ReleaseDate {
    coming_soon: boolean
    date: string
}

export interface SupportInfo {
    url: string
    email: string
}
